Imports System.Configuration.Provider
Imports System.IO

Public MustInherit Class EventProvider : Inherits ProviderBase
    Private Shared _instance As EventProvider = Nothing

    Public MustOverride Function GetEvents() As Generic.List(Of DataTypes.EventItem)
    Public MustOverride Function GetEvents(ByVal RangeStart As Date, ByVal RangeEnd As Date) As Generic.List(Of DataTypes.EventItem)
    Public MustOverride Function GetEvent(ByVal EventId As String) As DataTypes.EventItem
    Public MustOverride Function GetSchedule(ByVal EventId As String) As Generic.List(Of DataTypes.EventScheduleItem)
    Public MustOverride Sub AddEvent(ByVal EventItem As DataTypes.EventItem, ByVal Username As String)
    Public MustOverride Sub AddScheduleItem(ByVal EventId As String, ByVal EventScheduleItem As DataTypes.EventScheduleItem, ByVal Username As String)
    Public MustOverride Sub UpdateEvent(ByVal EventItem As DataTypes.EventItem, ByVal Username As String)
    Public MustOverride Sub UpdateScheduleItem(ByVal EventId As String, ByVal EventScheduleItem As DataTypes.EventScheduleItem, ByVal Username As String)
    Public MustOverride Sub RemoveEvent(ByVal EventId As String, ByVal Username As String)
    Public MustOverride Sub RemoveScheduleItem(ByVal EventScheduleId As String, ByVal Username As String)
End Class
